Problem 2.2

 

Algorithm to solve a Rubik’s Cube

 

Chose a target edge cubelet, call it X.

 

Step 1—Place The Edge Cubelets in the UP Layer (ignoring orientation):

 

NOTE: this is possible since not all of the UP edge cubelets have been placed.

 

Step 2—Orient the UP Edge Cubelets

 

While there is a UP Edge Cubelet with incorrect orientation

 

 

Step 3—Place UP corner cubelets with position and orientation

Chose a target UP corner cubelet, call it X.

 

 

Step 4—Place MID Layer Edge Cubelets (ignoring orientation)

 

Chose a target edge cubelet, call it X

 

While there is a misplaced MID edge cubelet

·        If X is in the MID Layer and correct position chose another X

·        If X is in the MID Layer, but in the incorrect positions

o       Reorient the cube such that X is in the (f r) position

o       Apply L^(-1)D^(-1)(F^2D^2)^3DL

o       NOTE: Now X is in the BOT Layer

Now X is in the BOT Layer

 

Step 5—Orient MID Layer Edge Cubelets

 

Chose a MID layer edge cubelet with incorrect orientation and call it X

 

While there are incorrectly oriented MID edge cubelets

 

Step 6—Place BOT Layer Corner Cubelets (ignoring orientation)

 

Apply B until at least one BOT corner cubelet is in its correct position

 

While all the corner cubelets are not in their correct positions

 

Step 7—Orient the bottom corner cubelets

 

NOTE: R^(-1)D^(-1)RD^(-1)R^(-1)D^2RD^2 fixes all corner cubelets and all UP edge cubelets while changing the orientation of the (f r d) , ( r b d) and (l b d) corner cubelets

 

(f l d) position.

 

Step 8—Place BOT Layer Edge Cubelets (with correct orientation)

 

Let Z = L^(-1)RF^(-1)LR^(-1)D^2L^(-1)RF^(-1)LR^(-1)

      Y = FLB^(-1)L^(-1)BF^(-1)DBD^(-1)B^(-1)

 

NOTE: Z = (r d , l d , d b)

            Y= (r d , b d , d l)

 

While the cube is not solved

NOTE: Do not simply place X choose Z or Y such that it places X with correct orientation.

 

End Algorithm